In general, each computer connected to a communication network is called a “computer node”. Further, a system having multiple computer nodes (hereinafter, “node”) is called a “distributed system” or a “cluster system”. In the cluster system, an operation transportation technique is used in which an operation body on a computer (computer program executed on the computer) is transported to another computer to improve efficient use of computer resources and achieve high reliability.
As a typical operation transportation technique, a process migration is generally known. The process migration is a technique which transports a computer program being executed on a node (hereinafter, “process”) to another computer while saving environments of execution and continues the operation under the same environments as the computer on which the computer program is initially executed. In other words, the process migration is a technique of transportation of the operations conducted on a computer process-by-process basis. In concrete steps of the process migration, first, snapshots of, for example, a memory state and a state of registers of the process are generated. Further, the snapshots are transmitted to another computer, and the environments of the process are recovered on another computer based on the snapshots (see Patent Document 1). The snapshot is a generic name of data picked up at a predetermined time. In the process migration, in one case, the snapshot is output to a file, and in another case, the snapshot is temporally generated and stored on a memory.
In addition, in recent years, a virtual machine migration is generally known in which the operations are transported not by using process-by-process basis, but by using virtual-machine-by-virtual-machine basis. A difference from the process migration is an object to be transported that is changed from the process to a virtual machine in the virtual machine migration. The virtual machine migration include steps of generating the snapshots of a memory state and a state of registers, transmits the snapshots to another computer and reconstructs the environments on another computer roughly in the same manner as in the process migration. Here, the virtual machine is generated by dividing a computer into multiple virtual computers, and it is possible to execute an independent operating system and application programs on each virtual computer. Software that provides the virtual machine is generally called a virtual machine monitor which has a function of using a specific computer resource like multiple computer resources. VMWare and Xen are generally known as such a virtual machine monitor. These virtual machine monitors respectively have VMotion and XenMotion as operation transportation functions on a virtual-machine-by-virtual-machine basis (see Patent Document 2, Non-Patent Document 1 and Non-Patent Document 2).